/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package br.edu.fatec.ads.dao;

import java.io.Serializable;
import java.util.List;
import org.hibernate.criterion.Criterion;

/**
 *
 * @author BRUNO
 */
public interface GenericDAO<T,PK extends Serializable> {

    public PK save(T newInstance);
    public void update(T transientObject);
    public void saveOrUpdate(T transientObject);
    public void delete(T persistentObject);
    public T get(PK id);
    public List<T> findByCriterion(List<Criterion> criterios);
    
}